package io.github.thesixonenine.chapter1.sync;

/**
 * @author Simple
 * @version 1.0
 * @date 2021/01/03 15:25
 * @since 1.0
 */
public class NoSafe implements Runnable {
    private int count = 0;

    public NoSafe(int count) {
        this.count = count;
    }

    public int getCount() {
        return count;
    }

    /**
     * 如果要对同一个对象中的属性进行修改, 则需要同步, 否则会出现线程不安全的情况
     * 类比: 库存只有5个, 5个人同时来买, 由于没有同步, 可能5个人都是在计算5-1 最后5个人买完后还剩库存4
     */
    @Override
    public void run() {
        count--;
        System.out.println("由" + Thread.currentThread().getName() + "计算: " + count);
    }
}
